<?php

class Parametro_Model extends CI_Model {

    const STR_NOMBRE_TABLA = 'tabla_maestra';

    /**
     * Constructor
     * @author Fernando Esteban Valerio
     */
    function __construct() {
        parent::__construct();
    }

    /**
     * Obtener los parámetros registrados en el sistema.
     * @author Fernando Esteban Valerio
     * @param int $idPadre Id tabla maestra
     * @return array
     */
    function getListParametro($idPadre = '') {
        $this->db->order_by('id_tabla_maestra', 'DESC');
        $query = $this->db->get(self::STR_NOMBRE_TABLA);
        return $query->result();
    }

    /**
     * Obtener la información de un parámetro.
     * @author Fernando Esteban Valerio
     * @param int $id Id tabla maestra
     * @return array
     */
    function getParametro($id) {
        $this->db->where('id_tabla_maestra', $id);
        $query = $this->db->get(self::STR_NOMBRE_TABLA);
        return $query->result();
    }

    function existDependencia($id) {
        $this->db->where('id_padre', $id);
        $query = $this->db->get(self::STR_NOMBRE_TABLA);
        return $query->result();
    }

    function insert($data) {
        $this->db->set('id_padre', $data['id_padre']);
        $this->db->set('descripcion', $data['descripcion']);
        $this->db->set('valor_1', $data['valor_1']);
        $this->db->set('valor_2', $data['valor_2']);
        $this->db->set('valor_3', $data['valor_3']);
        $this->db->set('estado', $data['estado']);
        $this->db->set('usuario_registro', $data['usuario_registro']);
        $this->db->set('fecha_registro', $data['fecha_registro']);
        $this->db->insert(self::STR_NOMBRE_TABLA);
    }

    function update($data) {
        $this->db->set('id_padre', $data['id_padre']);
        $this->db->set('descripcion', $data['descripcion']);
        $this->db->set('estado', $data['estado']);
        $this->db->set('valor_1', $data['valor_1']);
        $this->db->set('valor_2', $data['valor_2']);
        $this->db->set('valor_3', $data['valor_3']);
        $this->db->set('usuario_modificacion', $data['usuario_modificacion']);
        $this->db->set('fecha_modificacion', $data['fecha_modificacion']);
        $this->db->where('id_tabla_maestra', $data['id_tabla_maestra']);
        $this->db->update(self::STR_NOMBRE_TABLA);
    }

    function updateEstado($data) {
        $this->db->set('estado', $data['estado']);
        $this->db->set('usuario_modificacion', $data['usuario_modificacion']);
        $this->db->set('fecha_modificacion', $data['fecha_modificacion']);
        $this->db->where('id_tabla_maestra', $data['id_tabla_maestra']);
        $this->db->update(self::STR_NOMBRE_TABLA);
    }

    function delete($id) {
        $this->db->where('id_tabla_maestra', $id);
        $this->db->set('usuario_modificacion', $data['usuario_modificacion']);
        $this->db->set('fecha_modificacion', $data['fecha_modificacion']);
        $this->db->delete(self::STR_NOMBRE_TABLA);
    }

}
